package net.hn.hnms.biz.safety.trinity.company.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import net.hn.hnms.biz.safety.trinity.company.service.RiskControlCompanyService;
import net.hn.hnms.biz.safety.trinity.entity.RiskCompanyLevelVO;
import net.hn.hnms.biz.safety.trinity.entity.RiskCompanyVO;
import net.hn.hnms.biz.safety.trinity.entity.RiskLevelCountVO;
import net.hn.hnms.biz.safety.trinity.entity.RiskTypeVO;
import net.hn.hnms.sys.common.core.domain.R;
import net.hn.hnms.sys.common.core.domain.ResponsePage;
import net.hn.hnms.sys.common.mybatis.core.page.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @author 智呈物联 nzw
 * @date 2023/1/17
 */
@RestController
@RequestMapping("company/manage/riskRecord")
@Api(value = "安全风险台账控制器", tags = {"公司端安全风险台账"})
public class RiskRecordCompanyController {

    private RiskControlCompanyService riskControlCompanyService;

    @Autowired
    public void setRiskControlCompanyService(RiskControlCompanyService riskControlCompanyService) {
        this.riskControlCompanyService = riskControlCompanyService;
    }

    @GetMapping("page")
    @ApiOperation("获取风险列表")
    public R<ResponsePage<RiskCompanyVO>> RiskCompanyPage(PageQuery pageQuery,String mineCode,String level){
        return R.ok(riskControlCompanyService.page(pageQuery,mineCode,level));
    }

    @GetMapping("riskLevel")
    @ApiOperation("各等级风险数量")
    public R<RiskLevelCountVO> riskLevel(){
        return R.ok(riskControlCompanyService.riskLevel());
    }

    @GetMapping("riskLevelByMineCode")
    @ApiOperation("按煤企（矿）统计风险数量")
    public R<List<RiskCompanyLevelVO>> riskLevelByMineCode(){
        return R.ok(riskControlCompanyService.riskLevelByMineCode());
    }


    @GetMapping("riskType")
    @ApiOperation("按风险类型区分风险数量")
    public R<RiskTypeVO> riskType(){
        return R.ok(riskControlCompanyService.riskType());
    }
}
